#pragma once
#include "OpenGL.hpp"
#include <vector>
#include "Matrix4x4.hpp"
#include "Mesh.hpp"
#include "Texture.hpp"
#include "Vertex.hpp"

namespace Typhoon {

	class RenderCall {
	public:

		typedef std::vector<Vertex> Vertices;
		typedef std::vector<GLshort> Triangles;

		RenderCall();
		~RenderCall();

		void Reset();
		bool RenderSprite(const Matrix4x4& world, Mesh& mesh, Texture* texture);
		void Render();

	private:
		Vertices vertices;
		Triangles triangles;

		int verticesIndex;
		int trianglesIndex;

		int maxVertices;
		int maxTriangles;

		Texture* texture;
		
			
	};
}